﻿using System.ComponentModel;

namespace AiQiuQuan.Sport.Model.Enums
{
    /// <summary>
    /// 支付方式：1.微信支付、2支付宝支付、3.场馆会员卡支付
    /// </summary>
    public enum PayTypeEnum
    {
        /// <summary>
        /// 未知
        /// </summary>
        None = 0,

        /// <summary>
        /// 微信支付
        /// </summary>
        [Description("微信")]
        WXPay = 1,

        /// <summary>
        /// 支付宝支付
        /// </summary>
        [Description("支付宝")]
        AliPay = 2,

        /// <summary>
        /// 场馆会员卡
        /// </summary>
        [Description("场馆会员卡")]
        VenueMemberCard = 3,
    }

    /// <summary>
    /// 终端类型：1 小程序、2 H5、3 APP
    /// </summary>
    public enum ClientTypeEnum
    {
        /// <summary>
        /// 小程序
        /// </summary>
        [Description("MiniProgram")]
        MiniProgram = 1,

        /// <summary>
        /// H5
        /// </summary>
        [Description("H5")]
        H5 = 2,

        /// <summary>
        /// app
        /// </summary>
        [Description("APP")]
        APP = 3
    }

    /// <summary>
    /// 支付订单状态:1未支付、2已支付、3支付失败、5部分退款、6全部退款、10已过期、15已取消
    /// </summary>
    public enum PayOrderStateEnum
    {
        /// <summary>
        /// 未支付
        /// </summary>
        [Description("未支付")]
        NotPay = 1,

        /// <summary>
        /// 已支付
        /// </summary>
        [Description("已支付")]
        Paid = 2,

        /// <summary>
        /// 支付失败
        /// </summary>
        [Description("支付失败")]
        PayFaild = 3,

        /// <summary>
        /// 部分退款
        /// </summary>
        [Description("部分退款")]
        PartialRefunded = 5,

        /// <summary>
        /// 全部退款
        /// </summary>
        [Description("全部退款")]
        Refunded = 6,

        /// <summary>
        /// 已过期
        /// </summary>
        [Description("已过期")]
        Expired = 10,

        /// <summary>
        /// 已取消
        /// </summary>
        [Description("已取消")]
        Canceled = 15
    }

    /// <summary>
    /// 退款状态:0退款中、1退款成功、2退款失败
    /// </summary>
    public enum RefundStateEnum
    {
        /// <summary>
        /// 退款中
        /// </summary>
        [Description("退款中")]
        Processing = 0,

        /// <summary>
        /// 退款成功
        /// </summary>
        [Description("退款成功")]
        Sucess = 1,

        /// <summary>
        /// 退款失败
        /// </summary>
        [Description("退款失败")]
        Faild = 2
    }

    /// <summary>
    /// 支付单取消方式：1用户取消、2场馆取消、3平台取消、4管理员取消
    /// </summary>
    public enum OrderCancelTypeEnum
    {
        /// <summary>
        /// 用户取消
        /// </summary>
        [Description("用户取消")]
        User = 1,

        /// <summary>
        /// 场馆取消
        /// </summary>
        [Description("场馆取消")]
        Venue = 2,

        /// <summary>
        /// 平台取消
        /// </summary>
        [Description("平台取消")]
        Platform = 3,

        /// <summary>
        /// 管理员取消
        /// </summary>
        [Description("管理员取消")]
        Manage = 4,
    }
}
